/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package winda;

/**
 *
 * @author camil
 */
public class Winda {

    private SzybWindy szybWindy;
    private boolean drzwiOtwarte;
    private boolean stoi;
    private double wysokość;
    //private boolean jedzieWGórę;
    private double maksymalnaWaga;
    private boolean przeciążenie;

    protected Winda(SzybWindy sz, int maksymalnaWaga) {
        this.szybWindy = sz;
        this.maksymalnaWaga = maksymalnaWaga;
    }

    public void jedźNaPiętro(int nrPiętra) {
        this.szybWindy.jedźNaPiętro(nrPiętra);
    }

    public void otwórzDrzwi() {
        if (this.naPiętrze()) {
            this.drzwiOtwarte = true;
        }
    }

    private void obliczPrzeciążenie(){
        this.przeciążenie = this.maksymalnaWaga <= this.szybWindy.wagaWindy();
        
    }
    
    public void zamknijDrzwi() {
        this.obliczPrzeciążenie();
        if(!this.przeciążenie){
            this.drzwiOtwarte = false;
        }
    }

    public boolean stanDrzwi() {
        return this.drzwiOtwarte;
    }

    public int pobierzAktualnePiętro() {
        return (int)this.wysokość;
    }

    protected void ustawCzyStoi(boolean stoi) {
        this.stoi = stoi;
    }

    public boolean stanRuchu() {
        return this.stoi;
    }

    /*protected void ustawCzyJedzieWGórę(boolean wGórę) {
        this.jedzieWGórę = wGórę;
    }

    public boolean stanCzyJedzieWGórę() {
        return this.jedzieWGórę;
    }*/

    protected void ustawWysokość(double wysokość) {
        this.wysokość = wysokość;
    }

    public double pobierzWykokość() {
        return this.wysokość;
    }    
    
    public boolean naPiętrze() {
        return this.wysokość == (double) (int) this.wysokość;
    }
    
    public boolean pobierzCzyWindaPrzeciążona(){
        return this.przeciążenie;
    }
    
    private void przeciążona(){
        
    }
    
    private void koniecPrzeciążenia(){        
    }
}
